package com.ydm.restaurant.common.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

public class OrderNumberUtil {

	// 生成订单号
	public static String generateOrderNumber() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		String dateStr = sdf.format(new Date());

		// 生成UUID
		String uuid = UUID.randomUUID().toString().replaceAll("-", "");

		// 只保留数字部分，并截取以达到14位数
		StringBuilder digitOnly = new StringBuilder();
		for (char c : uuid.toCharArray()) {
			if (Character.isDigit(c)) {
				digitOnly.append(c);
			}
		}

		// 确保总长度为14位
		String orderNumber = dateStr + digitOnly.toString().substring(0, 14 - dateStr.length());

		// 如果UUID中的数字不足，则填充0
		while (orderNumber.length() < 14) {
			orderNumber += "0";
		}

		return orderNumber;
	}

	public static void main(String[] args) {
		System.out.println(generateOrderNumber());
	}
}
